// pages/songlist/songlist.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    background:{},//轮播图
    singer:{},//歌手
    newmusic:[],//最新音乐列表
  },

  getbanner(){//获取轮播图
    wx.request({
      url: 'http://localhost:3000/banner',
      dataType:"json",//数据类型
      success:(res)=>{
        //console.log(res.data.banners)
        //设置给background
        this.setData({
          background:res.data.banners
        })
      }
    })
  },
  getsinger(){//获取热门歌手
    wx.request({
      url: 'http://localhost:3000/top/artists',
      dataType:"json",
      success:(res)=>{
        //console.log(res.data.artists)
        //设置给background
        this.setData({
          singer:res.data.artists.slice(0,10)//测试 截取了前十个
        })
      }
    })
  },
  getnewmusic(){//获取最新音乐
    wx.request({
      url: 'http://localhost:3000/personalized/newsong',
      dataType:"json",
      success:(res)=>{
        //console.log(res.data.result)
        //设置给background
        this.setData({
          newmusic:res.data.result
        })
      }
    })
  },
  hotlink(event){//点击热门歌手
    //console.log(event.currentTarget.dataset.id)
    const index=event.currentTarget.dataset.id//歌手的下标
    const singer=this.data.singer
    //跳转页面和数据传递
    wx.navigateTo({//传参方式，看文档
      url: '/pages/singer/singer',
      success:(res)=>{
        // 通过 eventChannel 向被打开页面传送数据
        res.eventChannel.emit('acceptDataFromOpenerPage', { data: singer[index] })
      }
    })
  },

  playlink(event){//点击跳转play页面
    //console.log(event.currentTarget.dataset.index)
    const index=event.currentTarget.dataset.index
    const musicdata=this.data.newmusic//考虑到切换歌曲所以需要把最新歌曲都传递过去

    //获取歌曲id
    const mid=musicdata[index].id
    wx.request({//该请求判断是否能播放 能播放执行数据传输 不能播放提示无版权!
      url: `http://localhost:3000/check/music?id=${mid}`,
      success:(res)=>{
        if(res.data.message=='ok'){
          //console.log('可以播放')
          const objdata={}//创建一个空数据对象
          objdata.musicdata=musicdata
          objdata.nowindex=index//将上方最新歌曲列表与当前下标加入该空对象

          //跳转页面和数据传递
          wx.navigateTo({//传参方式，看文档
            url: '/pages/play/play',
            success:(res)=>{
              // 通过 eventChannel 向被打开页面传送数据
              res.eventChannel.emit('acceptDataFromOpenerPage', { data: objdata })
            }
          })
        }else{
          //console.log('亲,暂无版权')
          wx.showToast({
            title: '亲,暂无版权',
            mask:'true',
          })
        }
      },
    })
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getbanner()
    this.getsinger()
    this.getnewmusic()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})